package org.example.jd.aiservice;

import dev.langchain4j.service.MemoryId;
import dev.langchain4j.service.SystemMessage;
import dev.langchain4j.service.UserMessage;
import dev.langchain4j.service.V;
import dev.langchain4j.service.spring.AiService;

import static dev.langchain4j.service.spring.AiServiceWiringMode.EXPLICIT;

/**
 * 京东AI客服服务接口
 * 该接口定义了与京东外卖客服机器人交互的方法，使用LangChain4j框架实现AI服务
 */
@AiService(
        wiringMode = EXPLICIT,
        chatModel ="qwenChatModel",
        chatMemoryProvider ="chatMemoryProvider",
        tools = "dataCalculator",
        contentRetriever = "contentRetriever")
public interface JdAiSerivce {

    /**
     * 发送消息给京东外卖客服机器人
     *
     * @param sessionId 会话ID，用于标识不同的用户会话，保持对话上下文
     * @param message 用户发送的消息内容
     * @return 返回机器人回复的消息字符串
     */
    @SystemMessage("你是京东外卖客服机器人，专门回答京东外卖相关的问题")
    @UserMessage("我是用户：{{message}}")
    String sendMessage(@MemoryId String sessionId, @V("message") String message);
}

